ELK Stack : 02. ตัวอย่างการติดตั้ง Log Server ด้วย ELK บน Centos7

การติดตั้ง Elastic Stack

สามารถทำตามขั้นตอนการติดตั้ง ทั้งหมดจากทางเว็บไซด์ของ Elastic ในที่นี้เราจะทำการติดตั้ง  Elasticsearch ,x-pack ,kibana และ logstash ตามลำดับ โดยสามารถแยก server หรือลองลงทั้งหมดในเครื่องตัวเองก่อนก็ได้ค่ะ

เราจะทำการติดตั้ง Elasticsearch ด้วย rmp

1. ติดตั้ง Java ด้วย version 8 ขึ้นไป

yum -y remove java*
yum install java-1.8.0-openjdk -y
java -version

2. อัพเดตและอัพเกรด Linux

yum -y update
yum -y upgrade

3. ติดตั้ง Elasticseach

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

สร้างไฟล์ elasticsearch.repo ใน /etc/yum.repos.d/

vim /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-5.x]
name=Elasticsearch repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
sudo yum install elasticsearch

4. Running elasticsearch

sudo /bin/systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service

การ check status และการ stop service

sudo systemctl status elasticsearch.service
sudo systemctl stop elasticsearch.service

การตรวจสอบการทำงานของ elasticsearch

curl http://localhost:9200

ผลลัพธ์ที่ได้จะมีลักษณะดังนี้

{
  "name" : "Cp8oag6",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
  "version" : {
    "number" : "5.6.3",
    "build_hash" : "f27399d",
    "build_date" : "2016-03-30T09:51:41.449Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.1"
  },
  "tagline" : "You Know, for Search"
}

5. การ set configuration ของ elasticsearch
elasticsearch จะ load configuration จาก /etc/elasticsearch/elasticsearch.yml
ตัวอย่างการ Configuring Elasticsearch

vim /etc/elasticsearch/elasticsearch.yml
cluster.name:   "yourClusterName" 
network.host:   0.0.0.0

path.data: /var/lib/elasticsearch 
path.logs: /var/log/elasticsearch

discovery.zen.minimum_master_nodes: 2
discovery.zen.ping.unicast.hosts: [host1,host2]
bootstrap. memory_lock: true

การติดตั้ง Kibana

1. อัพเดตและอัพเกรด Linux

yum -y update
yum -y upgrade

2. ติดตั้ง Kibana

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

สร้างไฟล์ kibana.repo ใน /etc/yum.repos.d/

vim /etc/yum.repos.d/kibana.repo
[kibana-5.x]
name=Kibana repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
sudo yum install kibana

4. Running Kibana

sudo /bin/systemctl enable kibana.service
sudo systemctl start kibana.service

การ check status และการ stop service

sudo systemctl status kibana.service
sudo systemctl stop kibana.service

5. การ set configuration ของ kibana
Kibana จะ load configuration จาก /etc/kibana/kibana.yml
ตัวอย่างการ Configuring Kibana

vim /etc/kibana/kibana.yml
server.name: yourServerName
server.port: 5601      # port
server.host: "localhost"
elasticsearch.url: http://localhost:9200 
elasticsearch.username: username
elasticsearch.password: password

เนื่องจาก Kibana คือ  web application ในขั้นตอนนี้เราจะสามารถเปิด kibana ผ่าน port ที่เราได้ตั้งไว้ใน configuration file ตัวอย่างเช่น localhost:5601 หรือ http://YOURDOMAIN.com:5601

ในการใช้งานครั้งแรกจะต้องมีการกำหนด index pattern ซึ่งเราสามารถใช้ Sample Data

ตัวอย่างการ check index

curl 'localhost:9200/_cat/indices?v'

หลังจากกำหนด index pattern และหากมี log เกิดขึ้น Kibana จะแสดงผลดังนี้

tutorial-discover.png

การติดตั้ง Logstash

1. อัพเดตและอัพเกรด Linux

yum -y update
yum -y upgrade

2. ติดตั้ง Logstash

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

สร้างไฟล์ logstash.repo ใน /etc/yum.repos.d/

vim /etc/yum.repos.d/logstash.repo
[logstash-5.x]
name=Elastic repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
sudo yum install logstash

3. Running Logstash

sudo systemctl start logstash.service

4. ตัวอย่างการทดลองสร้าง Event

cd logstash-5.6.3
bin/logstash -e 'input { stdin { } } output { stdout {} }'

5. การ Set configuration ของ Logstash

การ Set YML ของ logstash สามารถเข้าไป set ใน /etc/logstash/

vim /etc/logstash/logstash.yml

การ Set configuration ของ Logstash set ใน  /etc/logstash/conf.d

vim /etc/logstash/conf.d/logstash.conf

More Information

  • https://www.elastic.co/
  • https://qbox.io/blog/welcome-to-the-elk-stack-elasticsearch-logstash-kibana

Related posts